#ifndef CAPTURE_BOARD_H_
#define CAPTURE_BOARD_H_

#include <sys/platform.h>

__BEGIN_DECLS

extern int capture_create_buffers(capture_context_t context, uint32_t property);
extern capture_context_t capture_create_context(uint32_t flags);
extern void capture_destroy_context(capture_context_t context);
extern int capture_get_frame(capture_context_t context, uint64_t timeout, uint32_t flags);
extern int capture_get_property_i(capture_context_t context, uint32_t prop, int32_t *value);
extern int capture_get_property_p(capture_context_t context, uint32_t prop, void **value);
extern int capture_is_property(capture_context_t context, uint32_t prop);
extern int capture_put_buffer(capture_context_t context, uint32_t idx, uint32_t flags);
extern int capture_release_frame(capture_context_t context, uint32_t idx);

/* CAPTURE_PROPERTY_SRC_INDEX */
#define IMX_ISI_SRC_MIPI_CSI_0	2
#define IMX_ISI_SRC_MIPI_CSI_1	3
#define IMX_ISI_SRC_CI_PI		4

extern int capture_set_property_i(capture_context_t context, uint32_t prop, int32_t value);
extern int capture_set_property_p(capture_context_t context, uint32_t prop, void *value);
extern int capture_update(capture_context_t context, uint32_t flags);
extern int capture_get_reg(capture_context_t context, uint32_t page, uint32_t reg, uint32_t* data);

__END_DECLS

#endif /* CAPTURE_BOARD_H_ */
